#pragma once

#include "fxcc/core/BaseImporter.h"
#include "fxcc/core/graph/common/TextureMetaCacheFile.h"
#include "fxcc/core/graph/common/Texture2DJack.h"
#include "fxcc/core/graph/common/Texture3DJack.h"
#include "fxcc/core/graph/common/Texture2DArrayJack.h"
#include "fxcc/core/graph/common/TextureCubeJack.h"

struct TextureImporter :public BaseImporter
{
	static TextureMetaCacheFile m_TextureMetaData;
	
	static std::string m_TextureMetaPath;

	static bool SaveCache();

	static bool LoadCache();

	bool ImportFile(const fxcc::File& file);

	bool ImportDDS(const std::string& file);
	
	bool ImportWIC(const std::string& file);
	
	bool ImportHDR(const std::string& file);
	
	TextureImporter()
	{
		m_Name = "Texture Importer";
	}

	
};